Method and medium for recommending a personalized ensemble

ABSTRACT

A computer-implemented method for generating a recommendation of a personalized ensemble. The method includes accessing customer data associated with a customer; enabling display of items on a three-dimensional shape; enabling selection of one of the items; and dynamically generating a recommendation of a personalized ensemble for the customer based on the selection of one of the items.

CROSS-REFERENCE TO RELATED U.S. APPLICATIONS

This Application is related to U.S. patent application Ser. No.14/041,765, entitled, “DISPLAYING ITEMS ON A 3-D SHAPE,” by RichardAinsworth et al. with filing date Sep. 30, 2013, and assigned to theassignee of the present application.

BACKGROUND

Presentation and layout of merchandise on a website can negativelyaffect the conversion rate of the merchandise. For example, if aconsumer is interested in purchasing a shirt, the consumer may have toscroll through thousands of shirts. As a result, the consumer may becomediscouraged and fatigued and decide to leave the website and notpurchase a shirt.

A website may only display a few items on each page. This requiresmultiple page scrolls to view all of the items which may lead to userfatigue. Additionally, this limits the ability for the user to compareand contrast items that are on different pages.

If an item is selected by a user, a product information page isdownloaded. The new product information page may hide merchandise on thepreviously viewed page. Also, the product information page takes time todownload which limits the speed at which the user is able to view otheritems.

Moreover, recommendations provided to a customer are not personalized.Accordingly, the customer is not interested in purchasing therecommended items.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthis specification, illustrate various embodiments and, together withthe Description of Embodiments, serve to explain principles discussedbelow. The drawings referred to in this brief description of thedrawings should not be understood as being drawn to scale unlessspecifically noted.

FIG. 1 is a block diagram that illustrates an embodiment of a computingsystem.

FIG. 2 is a block diagram that illustrates an embodiment of an algorithmfor grouping item descriptions.

FIGS. 3A-C are block diagrams that illustrates embodiments of imagesassociated with a 3-D object.

FIG. 3D is a screenshot of displayed items accordingly to an embodiment.

FIG. 4A is a block diagram that illustrates an embodiment of imagesassociated with a 3-D object.

FIGS. 4B-F are screen shots of displayed items.

FIG. 5A is a block diagram that illustrates an embodiment of imagesselected for purchase.

FIGS. 5B-D are screen shots of selected items.

FIG. 6 depicts a flow diagram for a method for grouping tags such that amanageable subset of items may be displayed, according to variousembodiments.

FIG. 7 depicts a flow diagram for a method for providing instructionsfor displaying items, according to various embodiments.

FIG. 8 depicts a flow diagram for a method for display of item details,according to various embodiments.

FIG. 9 depicts a flow diagram for a method for displaying items selectedfor purchase, according to various embodiments.

FIG. 10 depicts a block diagram that illustrates an embodiment of acollection recommendation system.

FIG. 11 depicts a block diagram that illustrates an embodiment of a pagefor the customer's account information.

FIG. 12 depicts a block diagram that illustrates an embodiment of a pageof a ranked recommendation.

FIG. 13 depicts a block diagram that illustrates an embodiment of a pageof various recommendations of collections for the customer.

FIG. 14 depicts a block diagram that illustrates an embodiment of a pageof a recommendation.

FIG. 15 depicts a block diagram that illustrates an embodiment of a pageof a recommendation.

FIG. 16 depicts a block diagram that illustrates an embodiment of a pageof a recommendation.

FIG. 17 depicts a block diagram that illustrates an embodiment of a pageof a recommendation.

FIG. 18 depicts a flow diagram for a method for generating arecommendation of a personalized ensemble, accordingly to variousembodiments.

FIG. 19 depicts a flow diagram for a method for generating arecommendation of a personalized ensemble, accordingly to variousembodiments.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to various embodiments, examples ofwhich are illustrated in the accompanying drawings. While variousembodiments are discussed herein, it will be understood that they arenot intended to be limiting. On the contrary, the presented embodimentsare intended to cover alternatives, modifications and equivalents, whichmay be included within the spirit and scope the various embodiments asdefined by the appended claims. Furthermore, in this Description ofEmbodiments, numerous specific details are set forth in order to providea thorough understanding. However, embodiments may be practiced withoutone or more of these specific details. In other instances, well knownmethods, procedures, components, and circuits have not been described indetail as not to unnecessarily obscure aspects of the describedembodiments.

FIG. 1 depicts a block diagram that illustrates an embodiment ofcomputing system 100. Computing system 100 includes, among other things,system 110 and device 160 and data system 150.

In general, system 110 is configured to filter a large volume of imagebased data such that a user is able to efficiently view the image baseddata. That is, system 110 filters a large volume of image based datasuch that a user is able to view many of the images and still have anoptimal and efficient viewing experience. In other words, system 110manages a user experience by preventing too many items for display ornot enough, thereby allowing for optimal display of items based onavailable items and tags.

For example, system 110 filters a large volume of retail merchandiseimages such that a user of device 160 is able to efficiently view largevolumes of desired retail merchandise images that results in anincreased likelihood of conversion, which will be described in furtherdetail below. In particular, a user is able to view a large volume ofretail merchandise images without requiring scrolling through multiplepages and clicking on multiple images.

It should be appreciated that system 110 is able to filter large volumesof various data. For example, system 110 is able to filter a directoryof individuals. In such an example, system 110 filters employees of abusiness or enterprise.

System 110 can be any computing system that is able to access data(e.g., image data), filter the data and enable viewing of the data. Forexample, system 110 can be, but is not limited to, a web server, anapplication server or the like.

System 110 includes data accessor 112 that accesses data, such as, imagedata. The data can include at least an image and a description or tagsassociated with the image. For example, image data of a men's longsleeve red shirt includes an image of the long sleeve red shirt and tagsassociated with the shirt. For example, tags describing the shirt canbe, but are not limited to: men's, long sleeve, red, shirt, etc.

In one embodiment, data accessor 112 accesses data from data system 150.The accessing by data accessor 112 can be accomplished by pushing,polling, etc.

The accessed data is then stored in database 114. For example, the imagedata can be stored as items 115 (e.g., images of retail items) and tags116 (e.g., descriptions of the retail items).

Data accessor 112 can access information for various numbers of items.For example, thousands or tens of thousands of items may be accessed andstored in database 114 for subsequent viewing.

In one embodiment, data accessor 112 is a web crawler.

For example, the web crawler systematically accesses data of a webserver(s) of a retailer (e.g., Target™, Gap™, J.Crew™, etc.). In such anexample, the web crawler accesses information regarding various clothingitems from a retailer. One of the items can be a pair of men's bluedenim jeans. As such, an image of the jeans is accessed as well as tagsdescribing the jeans. The tags describing the jeans can be, but are notlimited to, men's, jeans, denim, and blue.

Accordingly, the data accessed by the web crawler is stored in database114 for subsequent use by system 110, which will be described in furtherdetail below.

In various embodiments, system 110 is communicatively coupled to variousdata systems (e.g., eCommerce sites). For example, system 110 iscommunicatively coupled (via the Internet) to a plurality of web serversof various retailers.

The tags and images from different eCommerce sites can be partitionedsuch that the tags and images from one eCommerce site are separated fromtags and images from other eCommerce sites. Alternatively, tags andimages from different eCommerce sites may be mixed together.

Also, system 110 may be embedded in a retailer's eCommerce site.

System 110 also includes item filter module 118 configured to filteritems 115 and/or associated tags 116 in order to manage the amount ofitems and/or tags that are viewed by a user. As a result, the filteringof items 115 and tags 116 allows for, among other things, a user to seethe words that can be used for searching the items which then allows forsubsequent viewing of the items, which will be described in furtherdetail below.

In particular, item filter module 118 generates file 119 thatfacilitates in enabling the efficient searching of items and subsequentviewing of items that are of interest to the user.

In various embodiments, item filter module 118 utilizes variousalgorithms or data analysis methods (or variations/combinations thereof)to generate file 119. Such algorithms/methods, can be, but are notlimited to, clustering, folksonomy, associated mean cluster, etc.

In general, clustering is the task of grouping a set of objects in sucha way that objects in the same group (e.g., cluster) are more similar toeach other than to those in other groups or clusters. Additionally,folksonomy is a system of classification derived from the practice andmethod of collaboratively creating and managing tags to annotate andcategorize content.

FIG. 2 depicts an embodiment of an algorithm utilized by item filtermodule 118 to generate file 119.

For example, data accessor 112 accesses 1000 retail items from aneCommerce site or a plurality of eCommerce sites. The 1000 retail itemshave various tags that describe the respective items. The tags for the1000 retail items are referenced as tags 210.

Tags 210 are narrowed down to various subsets of tags. For example, tags210 are narrowed down into a first set of tags, referenced by tags 220,230, 240 and 250 n. It should be appreciated that tags 210 can benarrowed down into any number of groups/clusters.

Tags 220, 230, 240 and 250 n may be referred to as “seeds” or “nodes.”

In one embodiment, tags 210 are tags associated with items of a singleeCommerce site. As such, subsequent searching and/or viewing of itemsassociated with the tags are directed towards merchandise from theindividual eCommerce site.

In another embodiment, tags 210 are tags associated with items ofvarious eCommerce sites. As such, subsequent searching and/or viewing ofitems associated with the tags are directed towards merchandise from thevarious eCommerce sites.

The first set of groupings can be, but are not limited to, the mostcommon descriptions, the most popular descriptions, the most frequentlysearched descriptions, retail provided descriptions, etc.

For example, the first set of groupings are the most common tags for the1000 retail items. The most common tags are, but not limited to, shirts,socks, jewelry and shorts. As such, tags 220 are grouping of tags withthe description of “shirts.” Tags 230 are a grouping of tags with thedescription of “socks.” Tags 240 are a grouping of tags with thedescription of “jewelry.” Tags 250 n are a grouping of tags with thedescription of “shorts.”

Moreover, the tags may also be associated with the count for reach tag.Of the 1000 retail items, 400 of the retail items may have a tag of“shirts,” 300 of the retail items may have a tag of “socks,” 280 of theretail items may have a tag of “jewelry,” and 260 of the retail itemsmay have a tag of “shorts.”

The same process is repeated to narrow the subsets of tags. For example,the first set of tags is narrowed down into a second set of tags. Forexample, tags 220 are further narrowed down to tags 221 through tags 221n, tags 230 are further narrowed down to various subsets of tags 231through tags 231 n, tags 240 are further narrowed down to varioussubsets of tags 241 through tags 241 n, and tags 250 n are furthernarrowed down to various subsets of tags 251 through tags 251 n, and soon.

More specifically, for example, tags 220 (the grouping of “shirts”) arenarrowed down to a grouping of tags that includes the descriptions of:men's, long sleeve, polo, etc. In such an example, of the 400 tags ofshirts, 80 tags are “men's”, 70 tags are “long sleeve”, 60 tags are“polo”, etc.

In one embodiment, the recursive process, as described above, continuesuntil a subset of tags is narrowed down to a pre-determined thresholdnumber. For example, the recursive process continues until a subset oftags is at or below a threshold of fifty. That is, for example, theprocess continues for subset of tags 220 until a narrower subset of tags220 includes a particular description with a count of fifty or less.Likewise, the process continues for subset of tags 230 until a narrowersubset of tags 230 includes a particular description with a count offifty or less, and so on.

If the subset of tags cannot be narrowed down to a pre-defined thresholdnumber, the recursive method continues until a subset of tags isnarrowed as much as possible.

It should be appreciated that the predetermined threshold can be anynumber. In particular, the predetermined threshold number can be anumber of images that can be optimally displayed in a single view. Inone embodiment, the predetermined threshold number is one-hundred. Assuch, one-hundred items having a tag with a count at or below thethreshold number will be enabled to be displayed in single view, whichwill be described in further detail below.

Embodiments of pseudo-code related to generating file 119 are providedin Appendix A.

Referring again to FIG. 1, system 110 includes display module 120configured to generate instructions for display of tags and/or items.The instructions provided to device 160 are based, at least in part, onfile 119 generated by item filter module 118.

In one embodiment, the instructions are for displaying images on display162 of device 160. It should be appreciated that any number of devicesmay communicate with system 110.

Device 160 can be any device that is able to communicate with system 110and display images according to instructions received from system 110.In various embodiments, device 160 can be, but is not limited to alaptop computer, desktop computer, tablet computer, smart phone, etc.

More specifically, a user of device 160 is provided with an optimaldisplay of tags/items based on the available tags/items. For example,the user is prevented from viewing too many items displayed on display162 or the user is prevented from viewing too few of items displayed ondisplay 162.

The display of the tags/items can occur in any fashion that enables foroptimal display of the tags/items. For example, the tags/items can bedisplayed in a “rolodex” format, a cluster diagram, etc. In general, acluster diagram includes various words connected to each other, via aline, wherein the cluster diagram depicts relationships between thevarious clusters.

It should be appreciated that various features of system 110 may beconfigurable. In one embodiment, the tags may be modified. For example,a user may add a new tag to an item or may modify an existing tag.

In various embodiments, various visual features may be modified by theuser, such as but not limited to, background color, etc.

FIGS. 3A-B depict embodiments of a display 300 of images (e.g., items115 and/or tags 116), accordingly to various embodiments.

Display 300 includes images 320, 321, 322, 323 and 324 displayed forviewing by a user. The images are displayed with respect to athree-dimensional (3-D) object 310. In particular, the images fordisplay appear to be attached or coupled to 3-D object 310. In oneembodiment, 3-D object 310 is not rendered and therefore, not displayedfor the user.

3-D object 310 can be any 3-D shape, such as, but not limited to, acylinder, a sphere, a carousel, ellipse, etc. Moreover, 3-D object 310can be any object with any shape (e.g., amorphous outer surface) that isconducive for allowing optimal and efficient display of items. It shouldbe appreciated that the radius of curvature may be changed. Also, a useris able to configure the shape of the 3-D object.

As depicted in FIG. 3A, in one embodiment, image 320 and image 321 arelocated towards a front surface of 3-D object 310, while image 322 andimage 323 are located towards a rear of 3-D object 310 (and behindimages 320 and 321). Image 324 is located towards a side of 3-D object310.

In one embodiment, the images displayed towards the front surface of 3-Dobject 310 are more prominently displayed than images displayed towardsthe rear of 3-D object 310. For example, images towards the rear may besmaller, less bright or “greyed,” as compared to images towards thefront of 3-D object 310.

Now referring to FIG. 3B, 3-D object 310 is rotated such that image 323and image 322 (displayed in the rear of 3-D object, in FIG. 3A) are nowdisplayed toward the front of 3-D object 310. Accordingly, image 323 andimage 322 are displayed more prominently than image 320 and image 321(which are now located in the rear of 3-D object 310).

It should be appreciated that the images are depicted to be facingforward with respect to the user while rotating around 3-D object 310.For example, the images that are facing forward, while in the front sideof 3-D object 310 remain facing forward, while in the rear side of 3-Dobject 310. Additionally, the images are not required to conform to theshape of the outer surface of 3-D object 310.

In various embodiments, 3-D object 310 can be rotated in eitherdirection about its axis. 3-D object 310 can rotate automatically or inresponse to user input. Moreover, the rotational speed of 3-D object 310can change based on user input.

It should be appreciated that, in various embodiments, depending on theshape of the 3-D object, 3-D shape can be rotated in any orientationssuch that the figures attached to the 3-D object may be prominentlydisplayed to the user. For example, if 3-D object is a sphere, 3-Dobject may be rotated in any direction with respect to its center point.

In one embodiment, 3-D object 310 may be rotated such that any of theimages attached to the 3-D may, at one time, be located towards thefront of 3-D object 310.

In another embodiment, the 3-D object 310 is stationary, however, theimages move across the outer surface of the 3-D object. For example, theimages for display move around the 3-D object as if they were on aconveyer belt that travels along the outer surface of 3-D object 310.

In another embodiment, the images are depicted as the same size withrespect to each other and are not required to change in size regardlessof their location on 3-D object 310.

In a further embodiment, the images are initially displayed as differentsizes with respect to each other and are not required to change in sizeregardless of their location on 3-D object 310.

Various examples of the use of system 110 are provided below withreference to at least FIGS. 1-3C.

For example, a user of device 160 desires to search or view one or moreof a one thousand products listed on an eCommerce site (e.g., datasystem 150) and potentially purchase one or more products from theeCommerce site. Accordingly, device 160 communicates with system 110which has stored data from data system 150.

Initially, tags (e.g., tags 116) are displayed on display 162 accordingto file 119. For example, a first set of tags, such as, tags 220, 230,240 through 250 n (see FIG. 2), and the count of each tag, are displayedas images 321-224, respectively (FIGS. 3A-B). For instance, image 321depicts “shirts (400),” image 322 depicts “socks (300),” image 323depicts “jewelry (280)” and image 324 depicts “shorts (260).”

It should be appreciated that any number of tags (and a count of eachtag) may be depicted as images for display such that a user is able toview numerous tags, in a single view, and still have an optimal andefficient viewing experience.

The user may rotate 3-D object 310 to view all of the displayed tags, asdescribed above.

FIG. 3C depicts an embodiment of a display 300C of displayed tags.Various tags with the number of items associated with the tags aredepicted. For example, in this depiction, the “bags” tag has 39 itemsassociated with the tag, the “socks” tag has 101 items associated withthe tag, etc.

In one embodiment, upon selection of a tag, a second grouping of tags isdisplayed. For example, if the user selected image 321 associated withtags 220, then a new set of images are displayed associated with tags221-221 n. For instance, if a user selects image 321 (depicting “shirts400”), then a new set of images is displayed. The new set of images caninclude image 321 that depicts “men's (80),” image 322 that depicts“long sleeve (70),” image 323 depicting “polo (60)” and image 324depicting “t-shirt (60).”

The user then selects image 321 that depicts “men's (80)” because theuser is interested in viewing the 80 different men's shirts.

In various embodiments, the tags may also be listed in a column, or thelike, along a side of the display screen. Also, the tags may be accessedfor selection via a dropdown box along the upper portion of the displayscreen.

In response to the selection of image 321 that depicts “men's (80),” the80 different men's shirts are displayed on display 162. For example, the80 images are dispersed around 3-D object 310 such that the user is ableto optimally view all 80 images in a single view. Moreover, 3-D object310 is able to be rotated such that all of the displayed images may beviewed and potentially selected by the user.

In one embodiment, the 80 tags associated with men's shirts is below apre-determined threshold value, for example, a pre-determined thresholdvalue of 100. As such, any selection of a tag with a count of less than100 triggers the display of the items associated with the selected tag.

FIG. 3D depicts an embodiment of display 300D that displays variousitems similar as described above. However, the items are not displayedin association with a 3-D shape.

The user, in one embodiment, is interested in a displayed item andselects the image of the displayed item. For example, the user isinterested in the men's flannel shirt that is depicted in image 322.Accordingly, the user selects image 322.

In response to selecting a displayed item, among other things, an itemdescription panel is displayed to provide additional details related tothe selected item, which is described in further detail below.

Referring again to FIG. 1, display module 120 generates an itemdescription panel 122 for each of items 115. In general, the itemdescription panel provides various details to further describe the item.For example, item description panel can include, but is not limited to,a photo(s), price, size, tags associated with the item, etc.

Item description panel, in various embodiments, is generated prior tothe respective items being displayed to a user. That is, itemdescription panel for each item is generated by system 110 prior to anyof the items being displayed and/or selected at device 160.

Moreover, as will be described in further detail below, item descriptionpanel is pre-loaded to device 160, for example, to memory 164.Accordingly, when an item is selected on display 162, the itemdescription panel 122 is accessed and displayed in real-time to theuser. In other words, item description panel 122 for an item is notrequired to be loaded to device 160 in response to the item beingselected by the user.

FIG. 4A depicts an embodiment of a display 400 of images, according tovarious embodiments.

Display 400A also depicts embodiments of item description panel 410 andfilmstrip 420.

For instance, a user selects image 321 because the user is interested ina shirt that is depicted in image 321. In response to the selection ofimage 321, item description panel 410 for the shirt (displayed in image321) is displayed.

In response to the user selecting an image, item description panel 410is displayed in real-time from a cache or memory 164 of device 160because item description panel 410 is pre-loaded from system 110.

If a different image is selected, for example, image 323, then adifferent item description pane for the item displayed in image 323 isdisplayed in real-time from cache or memory 164 of device 160.

If a user selects image 321 again, then the item description panel forthe item displayed in image 321 is reloaded once again from cache ormemory such that it is displayed in real-time without requiringre-downloading of the item description panel.

It should be appreciated that item description panels from differentsets of items displayed on different 3-D objects can be pre-loaded andsubsequently displayed in response to selection of displayed items.

Item description panel 410 can include, but is not limited to, image 412of the item and description 414 of the item. Image 412 can be anenlarged and/or scalable image of the selected item. Image 412 can bethe same as image 321 or different than image 321.

Description 414 can include any description related to the item in theselected image. For example, description can include tags 416 (e.g.,tags from file 119), price, etc.

Item description panel 410 may also include a bookmark option (e.g.,bookmark 418). That is, a user may select a bookmark button such thatthe item is set apart for subsequent potential purpose. For example, auser is interested in possibly purchasing the shirt selected in image321. The user may then select the bookmark button in the itemdescription panel of the shirt. The shirt is then “bookmarked” forsubsequent retrieval.

In one embodiment, when an item is bookmarked, the image of the item isplaced in a repository, such as filmstrip 420. For example, image 412 ofthe bookmarked item is stored at photo 421. Other bookmarked items arestored as additional images (e.g., image 422 and 423) in filmstrip 420.

Filmstrip 420 can include any number of bookmarked items. The number ofdisplayed images can be configurable. For example, twenty items may bebookmarked, but only three items may be displayed. However, thefilmstrip may be configured to display more or less than three items.

It should be appreciated that filmstrip 420 is a series of images thatare displayed for convenient viewing by a user. The filmstrip may bevarious shapes that allow for images to be viewed in close proximity toone another. In one embodiment, filmstrip 420 is similar to the 3-Dshape of a carousel, as described above.

The aggregate total of all the bookmarked items may be displayedproximate filmstrip 420.

In one embodiment, items displayed in filmstrip may be selected forsubsequent purchase. For example, a button or the like may be selectedby a user to add the items to a purchase basket (e.g., a “closet”) orthe like.

Embodiments of pseudo-code related to displaying of bookmarked items andthe like are provided in Appendix B.

FIG. 4B depicts an embodiment of display 400B that includes variousitems displayed about a 3-D shape and information regarding a selecteditem. For example, when item 440B is selected, then item descriptionpanel 410B is displayed. Item description panel 410B depicts an itemdescription, tags, price and an “Add to Closet” option.

In one embodiment, if a user selects one of the displayed tags (e.g.,“floral”), then the images displayed to the user are refreshed todisplay images associated with the selected tag (e.g., “floral”) aredisplayed for the user. Likewise, if another tag is selected (e.g.,“skirts”), then the images displayed to the user are refreshed todisplay images associated with the selected tag (e.g., “skirts”).

FIG. 4C depicts an embodiment of display 400C that includes variousitems displayed about a 3-D shape and information regarding a selecteditem. For example, when a displayed item is selected, item descriptionpanel 410C is displayed. The selected item can then be selected to beadded to the user's “closet” for purchase. In particular, when the “Addto Closet” button is selected then the item is bookmarked for potentialsubsequent purchase and displayed in filmstrip 420C.

FIG. 4D depicts an embodiment of display 400D that includes variousitems and information regarding a selected item (e.g., price,description, larger picture of item, etc.). It is noted that thedisplayed items are not displayed with respect to a 3-D shape.

FIG. 4E depicts an embodiment of display 400E that includes variousselected items and information regarding the selected items (e.g.,aggregate cost and images of the selected items). It is noted that thedisplayed items are not displayed with respect to a 3-D shape.

FIG. 4F depicts an embodiment of display 400F that includes a depictionof image 321. For example, a user views various items that are shown asimages surrounding a 3-D object, as described above. The user selectsthe item associated with image 321. Then only image 321 is displayed tothe user. The user is able to toggle between the exploded view of image321 and with the display of various images, such as depicted in FIG. 3A.This particular method of display may be utilized for users of mobiledevices.

FIG. 5A depicts an embodiment of a display 500A of a purchase basketaccording to various embodiments.

Purchase basket 510 includes the various items that were selected to bepurchased. For example, purchase basket 510 includes the images of itemsthat were selected from filmstrip 420 to be purchased. For instance,purchase basket 510 includes a shirt displayed in image 511, a necklacedisplayed in image 512 and shoes displayed in image 513.

In one embodiment, suggested items 520 are displayed associated with oneor more of items in purchase basket 510. For example, if the shirt inimage 511 is selected, then various other suggested items 520 aredisplayed to the user that are associated to the selected shirt. In suchan example, if shirt displayed in image 511 is a button down blue shirt,then suggested items 520 are items that would create an ensemble withthe shirt. Accordingly, suggested items 520 may include a watch,trousers, etc. that would “match” or could be worn with the button downblue shirt displayed in image 511.

The user may then select any one of the suggested images which wouldthen be added to purchase basket 510. In one embodiment, any one of thesuggested items may be dragged into purchase basket 510.

Upon completion of items added to purchase basket 510, the final itemsin purchase basket 510 are provided to one or more eCommerce sites forpurchase from the eCommerce site(s).

In various embodiments, a user can visit a website, browse merchandiseand create collections added to the closet. When ready to checkout, thefulfillment process is managed by system 110, allowing a consumer toprovide payment and shipping options without leaving the website.

Order information is then processed and settlement occurs in thebackground with retailers that have merchandise included in the basket.The merchandise is then directly shipped from the retailer to theconsumer. If multiple retailers' products are purchased, the user wouldreceive multiple shipped orders.

FIG. 5B depicts an embodiment of display 500B that includes variousitems that were selected for purchase. For example, items 511B and 512Bare depicted in a purchase basket. A user can arrange the times (and/orother suggested items) with one another such the various depicted itemscan be compared with one another to facilitate in a subsequent purchaseof one or more of the items.

In various embodiments, system 110 may be utilized within a store. Thatis, system 110 can be utilized within a brick-and-mortar merchandisestore. For example, a user, located in a store, uses device 160, alsolocated in the store, to search for items to purchase, wherein the itemsare located in the store or may not be located in the store.

FIGS. 5C and 5D depicts embodiments of display 500C and 500D,respectively, regarding the utilization of system 110 within a store, asdescribed above.

FIG. 5C depicts display 500C that includes selected items 510C (e.g.,bookmarked items, items selected to be in a “closet”, etc.) that user isinterested in purchasing. Display 500C includes an image of eachselected item and an aggregate cost of the selected items.

Additionally, a user may drag and drop the selected items into viewingportion 530C. For example, the user may drag and drop some or all of theselected items 510C into the various boxes in the viewing portion.Accordingly, the user is able to move around the boxes (that include theselected items) to compare the items and create various combinations ofoutfits.

Also, a user is able to print a screenshot of display 500C. As such, theprinted screenshot may assist the user in finding and purchasing theitems located in the store. For example, a user may hand the printedcopy to a sales associate who subsequently attempts to find the itemsdepicted on the printed copy.

FIG. 5D depicts display 500D that includes selected items 510CD (e.g.,bookmarked items, items selected to be in a “closet”, etc.) that user isinterested in purchasing. Display 500D is similar to display 500C, asdescribed above. For example, display 500D includes selected items 510Dthat a user is interested in purchasing. In particular, display 500Dincludes an image of each selected item, description of each selecteditem (e.g., product ID, tags, price, etc.) and an aggregate cost of theselected items.

Additionally, a user may drag and drop the selected items into viewingportion 530D. For example, the user may drag and drop some or all of theselected items 510D into the various boxes in the viewing portion.Accordingly, the user is able to move around the boxes (that include theselected items) to compare the items and create various combinations ofoutfits.

Also, a user is able to print a screenshot of display 500D. As such, theprinted screenshot may assist the user in finding and purchasing theitems located in the store. For example, a user may hand the printedcopy to a sales associate who subsequently attempts to find the itemsdepicted on the printed copy.

Example Methods of Operation

The following discussion sets forth in detail the operation of someexample methods of operation of embodiments. With reference to FIGS. 6,7, 8, and 9, flow diagrams 600, 700, 800 and 900 illustrate exampleprocedures used by various embodiments. Flow diagrams 600, 700, 800 and900 include some procedures that, in various embodiments, are carriedout by a processor under the control of computer-readable andcomputer-executable instructions. In this fashion, procedures describedherein and in conjunction with flow diagrams 600, 700, 800 and 900 are,or may be, implemented using a computer, in various embodiments. Thecomputer-readable and computer-executable instructions can reside in anytangible computer readable storage media. Some non-limiting examples oftangible computer readable storage media include random access memory,read only memory, magnetic disks, solid state drives/“disks,” andoptical disks, any or all of which may be employed with computerenvironments (e.g. device 160 and/or system 110). The computer-readableand computer-executable instructions, which reside on tangible computerreadable storage media, are used to control or operate in conjunctionwith, for example, one or some combination of processors of the computerenvironments. It is appreciated that the processor(s) may be physical orvirtual or some combination (it should also be appreciated that avirtual processor is implemented on physical hardware). Althoughspecific procedures are disclosed in flow diagrams 600, 700, 800 and900, such procedures are examples. That is, embodiments are well suitedto performing various other procedures or variations of the proceduresrecited in flow diagrams 600, 700, 800 and 900. Likewise, in someembodiments, the procedures in flow diagrams 600, 700, 800 and 900 maybe performed in an order different than presented and/or not all of theprocedures described in one or more of these flow diagrams may beperformed. It is further appreciated that procedures described in flowdiagrams 600, 700, 800 and 900 may be implemented in hardware, or acombination of hardware with firmware and/or software.

FIG. 6 depicts a flow diagram for a method for grouping tags such that amanageable subset of items may be displayed, according to variousembodiments.

Referring now to FIG. 6, at 610, data associated with a plurality ofitems is accessed, wherein the data comprises a plurality of tagsdescribing the plurality of items. For example, data accessor 112 (e.g.,a web crawler) accesses various data from data system 150. The data, canbe, but is not limited to, tags that describe various items for purchaseand images of the items.

The accessing, in one embodiment, is automatically accomplished by dataaccessor 112 of a computing system, such as system 110. For example,based on instructions from system 110, data accessor 112 automaticallyperiodically accesses data from various eCommerce computing systems(e.g., web servers).

At 612, in one embodiment, data associated with a plurality ofmerchandise items is accessed. For example, data accessor 112 accessdata from a variety of eCommerce computing systems (e.g., Walmart™,Target™, GapT™, etc.).

At 620, the tags are hierarchically grouped into smaller groups untilthe smaller groups reaches a predetermined threshold value, such that amanageable subset of the plurality of items are able to be displayed.For example, data accessor 112 accesses data associated with thousandsof items. Displaying thousands of items to a user for purchase maydecrease the conversion rate for such items.

As such, item filter module 118 executes an algorithm thathierarchically groups the tags of the items into smaller subgroups untilthe count of the tags in the subgroups reaches a predetermined thresholdvalue. As a result, a manageable subset of items (associated with thetags in the subgroup that reached the threshold value) are displayed toa user which may result in a higher conversion for the displayed subsetof items.

The hierarchical grouping, in one embodiment, is automaticallyaccomplished by item filter module 118 of a computing system, such assystem 110. For example, based on instructions from system 110, itemfilter module 118 automatically periodically filters tags associatedwith thousands of merchandise items from various eCommerce computingsystems (e.g., web servers).

At 622, the group of tags are hierarchically grouped into smaller groupsbased on a descending count of the tags until the count reaches apredetermined threshold. For example, tags 210 separated into subgroupsof tags 220, 230, 240, and 250 n which have a tag count smaller thantags 210. Similarly, tags 220, 230, 240, and 250 n are each separatedinto respective subgroups that each have a smaller tag count than theirparent.

At 624, the tags are hierarchically grouped into smaller groups based onvendor input until the count reaches a predetermined threshold. Forexample, tags 210 are narrowed down into a first set of tags, referencedby tags 220, 230, 240 and 250 n. Tags 220, 230, 240 and 250 n may beprovided by a vendor. For example, a retailer may provide system 110with tags associated with items for sale. Such tags may be shirts,jeans, jewelry, etc. Accordingly, the algorithm will utilize the vendorprovided tags to generate file 119, as described above.

At 626, the tags are hierarchically grouped into smaller groups basedpopularity of the tag until the smaller groups reaches a predeterminedthreshold value. For example, tags 220, 230, 240 and 250 n,respectively, may be popular tags from previous searches or purchases ofitems. For example, the most purchased items of a retailer includes tagsof shoes, bags, skirts, etc. Accordingly, the algorithm will utilizepopular tags to generate file 119, as described above.

At 630, the display is triggered when the subset of the items associatedwith one of the smaller groups reaches the predetermined thresholdvalue. For example, if tags 241 (e.g., “socks”) reaches a predeterminedthreshold of 100 tags, then the display of the 100 items having a tag of“socks” is triggered to be displayed at device 160.

In one embodiment, if the number of subset of items is below apredetermined threshold value, then additional items are displayed toreach the predetermined threshold value. For example, if only two socksare available to display, and the pre-determined threshold value is 25,then 23 additional items are accessed to reach the pre-determinedthreshold value of 25. The additional items may be related productsand/or recommended items, etc.

At 640, the subset of the items are displayed on a three-dimensionalshape, wherein the items in a rear of the three-dimensional shape arevisible. For example, the 100 items having a tag of “socks” aredisplayed with respect to 3-D object 310. In particular, items locatedto the rear of the 3-D object are visible such that they are able to beviewed and selected, even if disposed at least partially behind otherimages.

It is noted that any of the procedures, stated above, regarding flowdiagram 600 may be implemented in hardware, or a combination of hardwarewith firmware and/or software. For example, any of the procedures areimplemented by a processor(s) of system 110 and/or device 160.

FIG. 7 depicts a flow diagram for a method for providing instructionsfor displaying items, according to various embodiments.

Referring now to FIG. 7, at 710, a request is received to display itemsat device. For example, device 160 is communicatively coupled to system110. A user initiates a search for various items to be purchased viasystem 110. As such, a request is sent from device 160 (e.g., via HTTP)to view such items.

The request, in one embodiment, is received at a computing system, suchas system 110. For example, based on a request from a computing system(e.g., device 160), display module 120 automatically provides displayinstructions (e.g., via HTTP) to device 160 such that items or tagsassociated with the items are displayed on display 162.

At 712, in one embodiment, a request is received to display tagsdescribing the items. For example, a user desires to search variousmerchandise items from an eCommerce site. As such, a request is receivedat system 110 to search such items. As a result, display module 120automatically provides display instructions to device 160 such that tagsassociated with the items are displayed on display 162 for a subsequentsearch by the user.

At 714, in one embodiment, a request is received to display merchandiseitems. For example, upon a request from device 160, display module 120provides display instructions to device 160 such that tags associatedwith the items are displayed on display 162 for a subsequent search bythe user.

At 716, a request to display a subset of merchandise items is received,wherein the subset of items are associated with hierarchically groupingtags into smaller groups until the smaller groups reaches apredetermined threshold value. For example, a user desires to searchvarious merchandise items from an eCommerce site. As such, a request isreceived at system 110 to search such items. As a result, display module120 automatically provides display instructions to device 160 fordisplay of items and/or tags of the items. The instructions fordisplaying are based on file 119 which is generated from an algorithmthat provides for hierarchically grouping tags into smaller groups untilthe smaller groups reaches a predetermined threshold value.

At 720, Instructions are provided for displaying the items on athree-dimensional shape such that a manageable number of items are ableto be displayed for browsing. For example, display module 120automatically provides display instructions to device 160 for display ofitems and/or tags of the items. In particular, images located to therear of the 3-D object are visible such that they are able to be viewedand selected, even if disposed at least partially behind other images.

At 721, instructions are provided for displaying tags describing theitems. For example, various tags that describe various items aredisplayed. Such tags, can be, but are not limited to, shorts, hats,outerwear, sleepwear, etc.

At 722, instructions are provided for displaying the items on athree-dimensional carousel. For example, images of the items, such asimages 320-324, are displayed such that they appear to be attached to a3-D carousel.

At 723, instructions are provided for displaying a subset of the itemscorresponding to a selected tag describing the subset of items. Forexample, a user selects a displayed image of “socks” which is a tagdescribing all items related to socks. Accordingly, all the items withthe tag of “socks” is displayed, wherein the items with the tag of socksis a subset of all the items available for purchase.

At 725, instructions are provided for automatically rotating thethree-dimensional shape. For example, 3-D object 310 automaticallyrotates without requiring any user input.

At 730, instructions are provided for rotating the three-dimensionalshape in response to user input. For example, 3-D object 310 isinitially displayed in a static position. In response to user input, forexample, hovering near the 3-D object, the 3-D object rotates such thatthe various images attached to the 3-D object are able to be viewedwithout requiring user scrolling or clicking.

At 735, instructions are provided for changing rotational speed of thethree-dimensional shape in response to user input. For example, therotational speed of the 3-D object 310 may be changed based on variousgestures, for example, mouse gestures at or near 3-D object 310.

At 740, selections of the visible items in the rear of thethree-dimensional shape are enabled. For example, a user views an imageof an item that the user is interested in possibly purchasing. As such,the user selects the image of an item located to the rear of the 3-Dobject.

At 745, instructions are provided for displaying the items in a rear ofthe three-dimensional shape less prominently than items in a front ofthe three-dimensional shape. For example, an item in the rear of 3-Dobject is displayed as a smaller image or is greyed out compared to moreprominently displayed items towards the front of the 3-D object.

At 750, instructions are provided for displaying details of a selectedone of the items. For example, a user selects an image of an item thatthe user is interested in. Accordingly, item description panel 410 isdisplayed which provided additional details/description for the selecteditem.

It is noted that any of the procedures, stated above, regarding flowdiagram 700 may be implemented in hardware, or a combination of hardwarewith firmware and/or software. For example, any of the procedures areimplemented by a processor(s) of system 110 and/or device 160.

FIG. 8 depicts a flow diagram for a method for display of item details,according to various embodiments.

Referring now to FIG. 8, at 810, pre-loading an item description panelfor one or more of a plurality of displayed items is enabled. Forexample, each item that is available for searching by a user and/ordisplay by a user device, via system 110, has an associated itemdescription panel that includes a detailed description of the item.

The pre-loading, in one embodiment, is automatically accomplished bysystem 110 transmitting the item description panels to device 160. Forexample, prior to a user searching and/or selecting a displayed image ofitems from one or more eCommerce sites, device 160 automatically loadsthe item description panels of the items from system 110.

At 820, selection of one of the plurality of displayed items is enabled.For example, system 110 provides instructions to device 160 such that aplurality of items for sale are able to displayed proximate 3-D object310 on display 162.

At 830, display of pre-loaded item description panel associated with theselected one of the plurality of displayed items is enabled withoutrequiring loading of the pre-loaded item description panel in responseto the selection. For example, device 160 loads the item descriptionpanels prior to a user searching and/or selecting a displayed image ofitems from one or more eCommerce sites. As a result, in response toselecting a displayed image of an item, the associated item descriptionpanel is loaded immediately for display without requiring loading theitem description panel from another location (e.g., system 150, system110, etc.).

At 840, storing the pre-loaded item description panel in memory. Forexample, the item description panels are loaded to memory 164 of device160.

At 850, re-loading the pre-loaded description panel is enabled withoutrequiring loading of the pre-loaded description panel from anotherlocation. For example, item description panel 410 is able to bere-displayed by re-loading the item description panel without requiringloading the item description panel from another location (e.g., system150, system 110, etc.).

At 860, displaying of another pre-loaded description panel associatedwith the selected one of the plurality of displayed items is enabledwithout requiring loading of the another pre-loaded description panel.For example, an item description panel is pre-loaded for any item thatis able to be displayed to a user. Accordingly, any one of the itemdescription panels associated with the items is able to displayed andre-displayed in response to a user selection, without requiring loadingthe item description panel from another location.

It is noted that any of the procedures, stated above, regarding flowdiagram 800 may be implemented in hardware, or a combination of hardwarewith firmware and/or software. For example, any of the procedures areimplemented by a processor(s) of system 110 and/or device 160.

FIG. 9 depicts a flow diagram for a method for displaying items selectedfor purchase, according to various embodiments.

Referring now to FIG. 9, at 910, bookmarking items of interest from aplurality of displayed items is enabled, wherein the plurality ofdisplayed items are displayed on a three-dimensional shape. For example,a user is able to bookmark a displayed item if the user is interested inpossibly purchasing the item. As a result, the user is able easilyretrieve the item for subsequent viewing.

At 920, displaying the bookmarked items of interest in a filmstripformat is enabled. For example, in response to a user bookmarking anitem of interest, the item of interest is set apart and displayed in afeature that resembles a filmstrip.

At 930, displaying aggregate attributes of the bookmarked items ofinterest in conjunction with the filmstrip format is enabled. Forexample, the aggregate price and aggregate count of the bookmarked itemsare displayed. In particular, if there are five bookmarked items havinga total value of $100, then the number of bookmarked items (e.g., five)and the total value of the bookmarked items (e.g., $100) are displayed.

At 940, selecting one of the bookmarked items for purchase is enabled.For example, a user is able to select a displayed bookmarked item suchthat a user is able to confirm whether or not to purchase the selectedbookmarked item

It is noted that any of the procedures, stated above, regarding flowdiagram 900 may be implemented in hardware, or a combination of hardwarewith firmware and/or software. For example, any of the procedures areimplemented by a processor(s) of system 110 and/or device 160.

Embodiments of Recommending Items to a Customer

FIG. 10 depicts a block diagram of a collection recommendation system1000, according to various embodiments. Collection recommendation system1000 functions in conjunction with system 100 (see FIG. 1). In oneembodiment, collection recommendation system 1000 is embedded in system100.

The blocks that represent features in FIG. 10 can be arrangeddifferently than as illustrated, and can implement additional or fewerfeatures than what are described herein. Further, the featuresrepresented by the blocks in FIG. 10 can be combined in various ways.

According to one embodiment, a collection recommendation system 1000 isprovided to a retailer where the collection recommendation system 1000is for dynamically generating personalized recommendations 1040 fordifferent customers of the retailer.

In one embodiment, collection recommendation system 1000 is configuredto generate recommended retail items to a consumer, such as, but notlimited to, suggested items 520 (as described above with respect to atleast FIG. 5A). Accordingly, collection recommendation system 1000generates personalized recommendations (e.g., suggested items 520)corresponding to an item in purchase basket 510.

As depicted, the collection recommendation system 1000 includes a userinterface 1005 and a collection recommendation engine 1050. The userinterface 1005 includes an input receiving component 1020 and an outputproviding component 1030. The collection recommendation system 1000includes an analysis component 1060 and a dynamic recommendationgeneration component 1070.

The input receiving component 1020 is for receiving input 1010 thatpertains to a customer. The analysis component 1060 is for analyzing theinput 1010 that pertains to the customer. The dynamic recommendationgeneration component 1070 is for dynamically generating, based on theinput 1010, a recommendation 4040 for the customer that includes acollection of coordinated items that provides a personalized ensemble.The output providing component 1030 is for providing the recommendation1040 as output. The output 1040 can be one or more recommendations. Theoutput 1040 can be a hierarchy of recommendations. The one or morerecommendations 1040 can be displayed on a computer screen (e.g.,display 162) or printed on paper, among other things.

According to one embodiment, the collection recommendation system 1000provides a personalized ensemble to a consumer. For example, providingtwo customers with different recommendations that respectively includedifferent collections when they express an interest in the same item.The personalized ensembles for each of the customers are provided byselecting items for the collections based on each of the respectiveinputs that pertain to the customers. Therefore, even though both of therespective customers' collections include an item A, one or more of theother items in their respective collections are different, according toone embodiment. The inputs that pertain to the customers can include anyone or more of inputs from the retailer, more general customer inputs,finer grained customer inputs pertaining to customers' preferences onindividual items, empirical data, and information about other customersthat are similar to a customer. For example, the respective inputsassociated with the respective customers can result in dynamicallygenerating an ensemble that is personalized for the first customer thatincludes items A, B, C and D and dynamically generating an ensemble thatis personalized for the second customer that includes items A, E, F andG.

The initial inputs 1010 to the collection recommendation system 1000 mayinclude the inputs entered on a customer's account page, inputs from theretailer, more general customer inputs, empirical data, and informationabout other customers that are similar to a customer. One or more of theinputs 1010 are used to build correlation tables, according to oneembodiment.

The dynamic recommendation generation component 1070 can receive theinitial inputs 1010 and generate an initial combination based on thecorrelation tables and rules. According to one embodiment, the rulesinclude constraints. An example of a rule is a violation of what wouldbe considered proper style. For example, it is improper style to mixstripes and checks or to combine certain types of colors. In anotherexample, different types of clothing look better on different shapes andsizes of bodies. More specifically, a tall athletic woman and a shortwoman with an hour glass figure look better in different types ofclothing. A tall woman may look good wearing a jacket with large lapelswhereas a short woman may look good wearing a jacket with a zipper downthe front instead of lapels. A tall thin person may look good wearinghorizontal stripes and a short person would look better wearing verticalstripes instead of horizontal stripes. According to one embodiment,types of collections with respectively associated categories of itemscan be used as a part of dynamically generating recommendations ofpersonalized ensembles.

According to one embodiment, there is a feedback loop that enablessubsequent recommendations to be dynamically generated based onsubsequent inputs 1010 to the collection recommendation system 1000. Forexample, the collection recommendation system 1000 can iterativelygenerate subsequent recommendations in response to additional inputs1010 that are received and re-rank the subsequent recommendations, asdiscussed herein. The subsequent recommendation for an iteration of thefeedback loop may be the same as the previous recommendations, entirelydifferent than the previous recommendations, or contain a subset ofitems or a subset of recommendation of the previous recommendations.

The subsequent inputs 1010 can be used to modify the correlation tablesand the dynamic recommendation generation component 1070 can use themodified correlation tables and the rules as a part of dynamicallygenerating subsequent recommendations.

Examples of subsequent inputs include finer grained customer inputspertaining to customers' preferences on individual items, selections ofalternative items, requests to generate a new collection, add to acollection, or suggest a collection, the customer's likes and dislikes,among other things. Further subsequent recommendations can bedynamically generated based on subsequent input from retailers, customerinput whether general or fine grained, preferences on individual items,additional empirical data, additional information about other customersthat are similar to the customer.

One or more of the recommendations 1040 are displayed, for example, forthe customer to view. The recommendations 1040 may be a hierarchy ofrecommendations, as discussed herein.

Initially, the collection recommendation system 1000 can use a baselineof recommendations that have been provided, for example, by one or moreretailers. For example, the collection recommendation system 1000 canreceive input 1010 specifying a baseline of recommendations that arestored 1090 b in the stored recommendations 1080. The base line ofrecommendations may be based on mannequin cards. With each iteration ofdynamically generating recommendations and receiving additional inputs1010 pertaining to the customer, the baseline recommendations can bereplaced with recommendations that are personalized ensembles. Forexample, for each iteration, the previous recommendations are obtained1090 a from the stored recommendations, new recommendations aregenerated based at least in part on the previous recommendations and theprevious recommendations are replaced by storing 1090 b the newlygenerated recommendations in the stored recommendations 4080 inpreparation for the next iteration. The output providing component 4030can display the stored recommendations as output 1040 to the user. Overtime, the baseline of recommendations can be replaced withrecommendations that are personalized. According to one embodiment, thestored recommendations 1080 are re-prioritized for each iteration.

According to one embodiment, a user can upload a picture of an item thatis not offered by a retailer (referred to herein as“non-retailer-offered item”) and dynamically generate a recommendationthat includes the item, where the items associated with therecommendation coordinate with the item and provide a personalizedensemble. For example, the user could take a picture or digital image ofan item in their physical closet, an item in a magazine, an item of afriend, an item of a stranger, and upload that item. According to oneembodiment, the non-retailer-offered item is not a part of the closet1110 c of the collection recommendation system 1000. According to oneembodiment, the non-retailer-offered item can be added to the closet1110 c after the image of the non-retailer-offered item is received bythe collection recommendation system.

According to one embodiment, an idea for a gift for a person other thanthe customer, such a friend of the customer, can be generated, forexample, based on input or analyzed input. For example, as the customercollection recommendation system receives input and analyzes the inputfor a customer, it can build a profile and build a list of gift ideasfor the customer's friend. The list could include items that complementitems purchased by the customer or complement items purchased by othercustomers that are similar to the customer. The term “third party” canbe used to describe the person that is other than the customer. The listof gift ideas could be used as automated wedding registry or party giftideas that are highly relevant to the friend or third party.

According to one embodiment, a collection recommendation system isprovided by a business (also referred to herein as a “system providingbusiness”) that has access to information for a multitude of retailers.Examples of retailers in the apparel industry are J. Crew, Talbot, andMacy's. According to one embodiment, the business is a credit cardfinancing business that provides private labeled credit cards withdifferent retailer labels for each of the retailers. For example, thebusiness can provide a Macy's credit card for Macy's, a Talbot creditcard for Talbot and a J. Crew credit card for J. Crew. The businessobtains information about customers when they apply for the privatelabeled credit cards, such as one or more of their names, their emailaddresses, their ages, their incomes, where they live, how many childrenthey own, their types of employment, the names of their businesses,among other things.

According to various embodiments, the collection recommendation systemis provided for enhancing a retailer's revenue. There are various waysthat the system providing business can in turn increase their revenues.The system providing business can increase their revenues by chargingthe retailers a fee for using or buying the collection recommendationsystem, according to one embodiment (also referred to as “fee basedbusiness model”).

According to another embodiment, the system providing business'srevenues are automatically increased due to the increase in customerpurchases being charged to the private labeled credit cards that theyissue for the retailers (also referred to as “no fee business model”).For example, the customers will see the collections and be motivated topurchase and charge more items on the private labeled credit cards. Itis estimated that the collection recommendation system will increase theaverage purchases charged on the private labeled credit cards from 1.8items to 2.3 items per transaction. The charging of more purchases onthe private labeled credit cards results in more revenue for the systemproviding business, which issues the private labeled credit cards. Inthis case, neither the retailer nor the customer may be charged a feefor the collection recommendation system.

According to another embodiment, a combination business model can beused that is a combination of the fee based business model and the nofee business model.

According to various embodiments, input that pertains to a customer canbe received by the collection recommendation system. Examples of theinput are inputs from the retailer, more general customer inputs, finergrained customer inputs pertaining to customers' preferences onindividual items, empirical data, and information about other customersthat are similar to a customer.

Examples of inputs from the retailer include management cards. Examplesof management cards are the combinations of items that may appear incatalogs or that may be used to dress mannequins in stores (alsoreferred to as “mannequin cards”).

Examples of the more general customer inputs include, among otherthings, their personal information, the individuals or groups thecustomer is interested in sharing information with, social media, andtheir more general preferences. Examples of personal information includetheir names, their size information, their birth date, and theiranniversary. Their more general preferences include the colors andstyles that they prefer. In various illustrations, a customer canindicate their color and style preferences on the my account page,according to one embodiment.

Examples of finer grained customer inputs include feedback from thecustomers as to individual items that they like and individual itemsthat they dislike. For example, the customer may indicate that they likeitem A and that they dislike item B. The finer grained customer inputsmay be binary like or dislike. The finer grained customer inputs mayinclude a prioritization of their likes and dislikes of individualitems. For example, the customer may indicate that they dislike bothitems A and B but that they dislike B more than A. Further, the customermay indicate that they like both items C and D and that they like item Cmore than item D. In various illustrations, a customer can indicate thatthey like or dislike something using the respective like icons ordislike icons.

Examples of empirical data include demographic information and purchasehistory about the customer. Examples of demographic information includename, email address, age, income, location of residence, number ofchildren, type of employment, and name or type of business. Examples ofpurchase history include category of item purchased, price of the itempurchased, date of purchase, location of purchase, and retailer the itemwas purchased from.

Information about other customers includes demographic information orpurchase history, or a combination thereof, for other customers that aresimilar to that customer.

According to various embodiments, a system providing business may haverelationships with, for example, hundreds of retailers, where eachretailer may have one, two or more brands. The system providing businessmay also have relationships with several million households and over ahundred years of preference history providing a vast amount of inputpertaining to a customer for the system providing business to utilize.

FIG. 11 depicts a page 1100 for the customer's account information,according to one embodiment.

According to one embodiment, the page 1100 depicts the various pieces ofcustomer's input. Examples of the customer's input include personalinformation 1120, preferences 1130, individuals or groups 1140 thecustomer is interested in sharing information with, purchase history1150, social media 1160, and likes and dislikes 1170.

According to one embodiment, the customer can share the items that arein their wishlist with the individuals or groups 1140. For example, bysharing their wish list with individuals or groups 1140, the peopleassociated with 1140 may purchase items for the customer from thecustomer's wish list.

Examples of personal information 1120 are the customer's name 1120 a,birth date 1120 b, wedding anniversary 1120 c, and sizes 1120 d ofvarious types of apparel, such as shoe, shirt, pants, and dress, amongothers. According to one embodiment, the personal information 1120 caninclude one or more measurements of parts of a customer's body, such asheight, chest, waist, hips, inseam of their leg, neck, and arm length,among others.

Examples of preferences 1130 are preferred colors 1130 a and preferredstyles 1130 b. In this example, the colors 1130 a include dark blue,hunter green, light green, yellow, burnt orange, teal, tan, andchocolate brown and the styles 1130 b include formal, playful, andsummer.

The page 1100 has tabs 1110 a-1110 h on the side for accessing variouspages of the user interface, such as the customer's account 1110 a(e.g., “My Account”), recommendations 1110 b of collections for thecustomer (e.g., “Recommendations”), the customer's closet 1110 c (e.g.“My Closet”), the customer's wish list 1110 d of items they desire topurchase (e.g., My Wishlist”), the customer's collections 1110 e (e.g.,“My Collections”), the customer's social media 1110 f (e.g., “SocialMedia”), and the customer's likes 1110 g (e.g., “Likes”) and dislikes1110 h (e.g., “Dislikes”) of specific items. The like tab 1110 g can bedisplayed as a thumbs up and the dislike tab 1110 h can be displayed asa thumbs down, according to one embodiment. According to one embodiment,the customer's collections under the collection tab are collections thatwere recommended using the recommendation tab 1110 b and that thecustomer has accepted to become a part of their collections. The myaccount tab 1110 a is highlighted, according to one embodiment, becausethe customer selected it.

As depicted, there are 35 items in the customer's closet 1110 c, 13items in the customer's wish list 1110 d, four collections 1110 e forthe customer, one social media 1110 f, which in this illustration isFacebook, the customer has specified 132 likes and dislikes of specificitems for tab 1110 g, and there are 35 items in the purchase history650. Closet 1110 c, in one embodiment, is purchase basket 510.

FIG. 12 depicts a page 1200 with the highest ranked recommendation 1290for the customer, according to one embodiment. In one embodiment, thehighest ranked recommendation 1290 corresponds to an item selected inpurchase basket 510.

The recommendations of collections are ranked based on potential appealto the customer. The recommendation that potentially has the highestappeal to the customer is the highest ranked recommendation and can bedisplayed first, according to one embodiment.

The collection is a dynamically generated recommendation 1290 for acustomer that includes coordinated items 1210 a-i that provides apersonalized ensemble for the customer. For example, the depictedcollection on FIG. 12 includes a tank top 1210 a, a horizontal stripedshirt 1210 d that could be worn over the tank top, a skirt 1210 h, apair of shoes 1210 i, sunglasses 1210 c, and jewelry, such as a pair ofear rings 1210 e, and bracelets 1210 f, 1210 g. The tank top 1210 a andshoes 1210 i are black. The horizontal striped shirt 1210 d has whiteand black horizontal stripes. The skirt 1210 h, purse 1210 b, the widebracelet 1210 f and the ear rings 1210 e are teal with the skirt 1210 hand ear rings 1210 e being a darker shade of teal than the purse 1210 band wide bracelet 1210 f. The thin bracelets 1210 g have a gold finish.The sunglasses 1210 c have a tortoise shell rim. This is just oneexample of a generated recommendation that provides a personalizedensemble.

The page 1200 can indicate the style 1230 and price 1240 of therecommendation 1290. In this illustration, the collection is a summercollection and costs $220.00. According to one embodiment, thecollection correlates with one of the styles that the customer indicatedthat they prefer, for example, in a style preference page or the like.

The items 1210 a-i in the collection complements each other and providesa coordinated personalized ensemble for the customer. The personalizedensemble can be provided based on the input that pertains to thecustomer, according to one embodiment. For example, one of thecustomer's style preferences 1130 b (FIG. 11) is summer and thecollection includes items for summer style 1230. In another example, thecustomer's preferred colors 1130 a (FIG. 11) include teal and thecollection has items of various shades of teal that coordinate with eachother. In a third example, the items of the collection are selected toconform to the customer's specified sizes 1120 d (FIG. 11). These arejust a few examples of the input that pertains to the customer that canbe used for dynamically generating a recommendation 1290 that is apersonalized ensemble.

The page 1200 depicted on FIG. 12 displays various tabs 1110 a-1110 h onthe left side, as discussed herein. The recommendations tab 1110 b ishighlighted because the customer selected it.

The page 1200 depicted on FIG. 12 displays various icons a-e, such as alike icon a, a dislike icon b, an information icon c, a wish list icond, and collection icon e. These icons a-e are associated with any one ormore pages or pop-up windows as depicted on various pages of thecollection recommendation system's user interface, as will become moreevident. According to one embodiment, a like icon a may be displayed asa thumbs up, a dislike icon b may be displayed as a thumbs down, theinformation icon c may be displayed as the letter i inside of a circle,the wish list icon d may be displayed as a plus sign, and the collectionicon e may approximate a square.

Page 1200, according to one embodiment, has respective arrows 1220 a,1220 b to enable a user to flip to a previous page or the next page.

FIG. 13 depicts a page 1300 with more recommendations of collections forthe customer, according to one embodiment. FIG. 13 depicts two options1310 and 1320. One for displaying collections 1310 and the other fordisplaying single items 1320. The collections option 1310 is highlightedbecause the customer selected it.

The recommendations of collections form a recommendation hierarchy ofrecommendations that were dynamically generated based on the input thatpertains to the customer where each recommendation provides a collectionof coordinated items that provides a personalized ensemble. Therecommendations in the hierarchy are ranked based on potential appeal tothe customer. For example, a recommendation 1190 that potentially hasthe highest appeal to the customer was already displayed to the customeron FIG. 11. The lower ranked recommendations are displayed on FIG. 13and are ordered according to their rank from second highest to thelowest, for example starting at the upper left corner and proceeding tothe lower right corner. More specifically, as depicted in FIG. 13, therecommendations are ranked from second highest to the lowest 1330 a-1330h.

For example, if a customer selects recommendation 1330 a, then the itemsin recommendation 1330 a are depicted on a single page for viewing andselection by a customer. Similarly, if a customer selects any of therecommendation 1330 a-1330 h, then the items in the selectedrecommendation are depicted on a single page for viewing and selectionby a customer.

Assume in this illustration, that the customer clicked on the pair ofshoes from recommendation 1330 c because they liked the shoes or theywant more information about the shoes. In response, a pop up window isgenerated that includes an expanded view of the shoes that the customerselected. The pop up window can display the price of the shoes andvarious icons a-e.

FIG. 14 depicts a page 1400 with more recommendations of collections forthe customer, according to one embodiment. Assume in this illustration,that the customer clicked on the collection icon e in the pop up window.In response, a menu 1440 can be displayed with options for newcollection 1410, add to collection 1420 and suggest a collection 1430.According to one embodiment, the new collection option 1410 is forcreating a new collection that includes the shoes 1405, the add to acollection option 1420 for adding these shoes 1310 to an existingcollection, and suggest a collection option 1430 for suggesting acollection with these shoes 1405. These are just a few examples ofoptions.

Assume in this illustration, that the customer selected the suggest acollection option 1430. In response, FIG. 15 can be displayed, accordingto one embodiment. FIG. 15 depicts a page 1500 with a suggestedcollection that includes the shoes 1310 the customer showed an interestin. In this illustration, the suggested collection includes the yellowshoes 1310, a pale blue long sleeved button down shirt 1550 c, a darkblue calf length draw string loose fitting skirt 1550 b, and a necklace1550 a with four strands of beads that vary in color from dark blue tolight blue to coordinate with the light blue shirt 1550 c and the darkblue skirt 1550 b. Various embodiments are well suited for suggestedrecommendations that include other items. The suggested collection isdepicted on a first portion 1510 of the page 1500. Additionalsuggestions of items that the customer may be interested in viewing incombination with the yellow shoes 1310 are depicted on a second portion1520 of the page 1500. As depicted, the first portion 1510 is on oneside of the page 1500 and the second portion 1520 is on the other sideof the page 1500. Various embodiments are well suited for otherarrangements of components on the page 1500.

According to one embodiment, the page 1500 provides a drop down menu1530 that allows the customer to choose a filter that determines thecategories of items displayed in the second portion 1520. As depicted,the selected filter is for all items 1540. Therefore, the second portion1520 of the page 1500 displays items that various categories, such asprice, color, shirts, pants, dresses, shoes, handbags, coats, ties,jackets, sweaters, and accessories.

FIG. 16 depicts a page 1600 with the shoes that are in the customer'scloset. The page 1600 depicted on FIG. 16 displays various tabs 1110a-1110 h on the left side. The tab for my closet 1110 c is highlightedbecause the customer selected it.

According to one embodiment, the customer's closet includes the items ofapparel that they have purchased, for example, from one or moreretailers that use the collection recommendation system. At the top ofthe page are icons that represent various types of items in their closetsuch as the dresses, the shoes, the tops, the skirts, the shorts, thepants and the handbags. The page 1600 indicates that there is a total of35 items in their closet with 3 dresses, 8 shoes, 8 tops, 4 skirts, 3shorts, 6 pants, and 3 handbags. Since the customer is interested in theshoes in their closet, the shoe icon 1610 at the top is highlighted. Asubset of all of the items in a category can be displayed. For example,the page 1600 depicts 6 of the 8 shoes that are in their closet.

Assume that the customer decides to filter on price and color. Inresponse, a page 1700 as depicted in FIG. 17 can be displayed.

According to one embodiment, different types of collections can includeitems for different categories. For example, one type of collection mayinclude items for the categories dress, shoes, purse, jewelry, purse.Another type of collection may include items for the categories pants,shoes, scarf, jewelry, and purse. Yet another type of collection mayinclude items for the categories pants, shirt, jacket and tie. Accordingto one embodiment, icons that represent the categories associated withthe respective type of collection to facilitate associating items withthe collection for the appropriate categories. According to oneembodiment, the collection recommendation system automaticallydetermines categories to associate with a type collection. For example,the collection recommendation system may use the specified preferencesto determine categories to associate with a type collection. Accordingto one embodiment, a user of the collection recommendation system candetermine what categories to associate with a type collection. Inanother example, the collection recommendation system may initiallysuggest the categories to associate with a type collection and a usercan modify the categories associated with a type of collection. Thecollection recommendation system can dynamically generate a personalizedensemble using the categories associated with a type of collection. Forexample, if that type of collection has categories of dress, shoes,purse, jewelry and a scarf, the collection recommendation system can usevarious inputs to dynamically generate items for dress, shoes, purse,jewelry and a scarf for that type of collection and rank the dynamicallygenerated collection recommendation as discussed herein.

FIG. 17 depicts the green sweater 1730, the item category icons 1730a-1730 e, a plurality of price ranges 1740, colors 1750, and variousitems that may be organized according to category 1730 a-1730 e. Thepage 1700 has a first portion 1710 and a second portion 1720. The greensweater 1730 and the item category icons 1730 a-1730 e are displayed inthe first portion 1710. According to one embodiment, the first portion1710 is to one side of the page 1700 and the second portion 1720 is onthe other side of the page 1700. The plurality of price ranges, colors,and various items that satisfy the one or more filters (e.g., 1740 and1750) are displayed in the second portion 1720. Various embodiments arewell suited to using different organizations for displaying the portions1710, 1720 and the various components on the page 1700.

The range of prices 1740 in this illustration include under $50,$50-$100, $100-$250, $500-$1000, over $1000. The colors 1750 include orcompliment, or a combination thereof, the colors included in acustomer's specified preferred colors. As depicted on FIG. 17, thecustomer selected the $100-$250 range and hunter green. According to oneembodiment, the selections are indicated by annotating a corner of theblock that the customer selected. For example, the block 1740 a thatrepresents the $100-$250 range and the block 1750 a that representshunter green are both annotated in this example. The various items thatare depicted in the second portion 1720, according to one embodiment,are grouped according to categories. For example, items, such as topsand outerwear, that would be worn on the upper body are grouped, items,such as dresses, that would be worn on the upper body and at least partof the lower body, are grouped, items worn on the lower body, such asjeans, pants, skirts and shorts, are grouped, items worn on the feet,such as shoes, are grouped, the accessories, such as bags, hats, andjewelry are grouped. The customer can complete the collection with thegreen sweater, for example, by selecting items for each of thecategories displayed in the second portion 1720.

Example Methods of Operation

The following discussion sets forth in detail the operation of someexample methods of operation of embodiments. With reference to FIGS. 18and 19, flow diagrams 1800 and 1900 illustrate example procedures usedby various embodiments. Flow diagrams 1800 and 1900 include someprocedures that, in various embodiments, are carried out by a processorunder the control of computer-readable and computer-executableinstructions. In this fashion, procedures described herein and inconjunction with flow diagrams 1800 and 1900 are, or may be, implementedusing a computer, in various embodiments. The computer-readable andcomputer-executable instructions can reside in any tangible computerreadable storage media. Some non-limiting examples of tangible computerreadable storage media include random access memory, read only memory,magnetic disks, solid state drives/“disks,” and optical disks, any orall of which may be employed with computer environments (e.g. device160, system 110, and/or system 1000). The computer-readable andcomputer-executable instructions, which reside on tangible computerreadable storage media, are used to control or operate in conjunctionwith, for example, one or some combination of processors of the computerenvironments. It is appreciated that the processor(s) may be physical orvirtual or some combination (it should also be appreciated that avirtual processor is implemented on physical hardware). Althoughspecific procedures are disclosed in flow diagrams 1800 and 1900, suchprocedures are examples. That is, embodiments are well suited toperforming various other procedures or variations of the proceduresrecited in flow diagrams 1800 and 1900. Likewise, in some embodiments,the procedures in flow diagrams 1800 and 1900 may be performed in anorder different than presented and/or not all of the proceduresdescribed in one or more of these flow diagrams may be performed. It isfurther appreciated that procedures described in flow diagrams 1800 and1900 may be implemented in hardware, or a combination of hardware withfirmware and/or software.

FIG. 18 depicts a flow diagram for a method for generating arecommendation of a personalized ensemble, according to variousembodiments.

Referring now to FIG. 18, at 1810, customer data associated with acustomer is accessed. For example, input receiving component 1020receives input 1010. Input 1010 may be any data that pertains to acustomer (e.g., real or hypothetical). In one example, input 1010 is animage of an actual item provided by the customer. Various examples ofinput 1010, can be but is not limited to, personal information, pastpurchase information, etc.

At 1812, customer data is accessed, wherein at least a subset of thecustomer data is not required to be associated with the selection of oneof the items for purchase. For example, a customer selects an item topotentially purchase. Accordingly, the recommendation of a personalizedensemble pertaining to the selected item is based on information otherthan the actual selection of the item. For instance, the subset ofcustomer data can be, but is not limited to, past purchasing history,physical attributes, etc.

At 1814, customer data is accessed from a retailer. For example, input1010 provided by a retailer can be, past purchases, past item returns,cost of purchased items, etc.

At 1816, purchase history of the customer is accessed. For example,types of clothing, dates of purchase, amount of purchases are accessed.

At 1818, social media information of the customer is accessed. Forexample, social media sites such as Facebook, Pinterest, and the like,may provide information that facilitates in providing a recommendationof a personal ensemble.

At 1820, displaying of items on a three-dimensional shape is enabled.For example, display module 120 automatically provides displayinstructions for displaying items and/or tags of the items. Inparticular, images located to the rear of the 3-D object are visiblesuch that they are able to be viewed and selected, even if disposed atleast partially behind other images.

At 1822, displaying of items on a three-dimensional carousel is enabled.For instance, 3-D object 310 is a carousel. As such, the imagesdisplayed about a 3-D carousel.

At 1830, selection of one of the items is enabled. For example, any ofitems that are displayed to a customer may be selected by a customerbecause the customer is interested in purchasing the selected item.

At 1832, selection of one of the items located in a rear of thethree-dimensional shape is enabled. For example, all of the items thatare displayed around the 3-D object are able to be selected by acustomer. In particular, the items that are located near the rear of the3-D object, even if partially disposed behind other images, are able tobe selected by a customer.

At 1840, a recommendation of a personalized ensemble is dynamicallygenerated for the customer based on the selection of one of the items.For example, collection recommendation engine 1050 dynamically generatesa personal ensemble (e.g., page 1200) in response to a user selecting anitem of interest, such as a bookmarked item.

At 1842, a recommendation of a personalized ensemble is dynamicallygenerated for the customer based on the customer data. For example,collection recommendation engine 1050 receives customer specific data(e.g., physical attributes, past purchase history, etc.) and generates apersonalized ensemble based on the customer specific data.

At 1844, a recommendation of a personalized ensemble is dynamicallygenerated comprising coordinated items. For example, the depictedcollection on FIG. 12 includes a plurality of coordinated items such as,a tank top 1210 a, a horizontal striped shirt 1210 d that could be wornover the tank top, a skirt 1210 h, a pair of shoes 1210 i, sunglasses1210 c, and jewelry, such as a pair of ear rings 1210 e, and bracelets1210 f, 1210 g.

At 1846, a recommendation of a personalized ensemble is dynamicallygenerated that is unique to the customer. For example, if a two customerselected the same bookmarked item for purchase, the customers would notreceive the same personalized recommendation associated with theselected bookmarked item.

At 1850, a correlation table is generated based on the customer data.For example, inputs 1010 are used to build correlation tables. Thedynamic recommendation generation component 1070 can receive the initialinputs 1010 and generate an initial combination based on the correlationtables and rules.

At 1860, dynamically generate a hierarchy of recommendations. Forexample, page 1300 depicts hierarchy of recommendations that weredynamically generated based on the input that pertains to the customerwhere each recommendation provides a collection of coordinated itemsthat provides a personalized ensemble. The recommendations in thehierarchy are ranked based on potential appeal to the customer.

At 1870, the recommendations are enabled to be displayed in proximity tothe selection of the one of the items. For example, suggested items 520(e.g., recommendation 1290) are displayed proximate to a selected itemin purchase basket 510.

FIG. 19 depicts a flow diagram for a method for generating arecommendation of a personalized ensemble, according to variousembodiments.

Referring now to FIG. 19, at 1910, customer data associated with acustomer is accessed. For example, input receiving component 1020receives input 1010. Input 1010 may be any data that pertains to acustomer (e.g., personal information, past purchase information, etc.).

At 1912, customer data is accessed, wherein at least a subset of thecustomer data is not required to be associated with the selection of oneof the items for purchase. For example, a customer selects an item topurchase. Accordingly, the recommendation of a personalized ensemblepertaining to the selected item is based on information other than theactual selection of the item. For instance, the subset of customer datacan be, but is not limited to, past purchasing history, physicalattributes, etc.

At 1914, past purchasing history is accessed. For example, input 1010provided by a retailer can be, past purchases, past item returns, costof purchased items, etc.

At 1916, social media information of the customer is accessed. Forexample, social media sites such as Facebook, Pinterest, and the like,may provide information that facilitates in providing a recommendationof a personal ensemble.

At 1920, bookmarking items of interest from a plurality of displayeditems is enabled, wherein the displayed items are oriented about athree-dimensional shape. For example, items displayed with respect to3-D object 310 are able to be bookmarked for subsequent viewing by thecustomer

At 1930, a recommendation of a personalized ensemble is dynamicallygenerated for the customer based on a selected bookmarked item ofinterest. For example, collection recommendation engine 1050 dynamicallygenerates a personal ensemble (e.g., page 1200) in response to a userselecting a bookmarked item.

At 1932, a recommendation of a personalized ensemble is dynamicallygenerated for the customer based on the customer data. For example,collection recommendation engine 1050 receives customer specific data(e.g., physical attributes, past purchase history, etc.) and generates apersonalized ensemble based on the customer specific data.

At 1934, a recommendation of a personalized ensemble is dynamicallygenerated that is unique to the customer. For example, if a two customerselected the same bookmarked item for purchase, the customers receivedifferent personalized recommendations associated with the selectedbookmarked item.

At 1940, the recommendation of a personalized ensemble is enabled to bedisplayed. For example, device 160 is able to display page 1200 to acustomer.

At 1950, the bookmarked items of interest are enabled to be displayed ina filmstrip format. For example, device 160 is able to displaybookmarked items in filmstrip 420.

Example embodiments of the subject matter are thus described. Althoughvarious embodiments of the have been described in a language specific tostructural features and/or methodological acts, it is to be understoodthat the appended claims are not necessarily limited to the specificfeatures or acts described above. Rather, the specific features and actsdescribed above are disclosed as example forms of implementing theclaims and their equivalents. Moreover, examples and embodimentsdescribed herein may be implemented alone or in various combinationswith one another.

What is claimed is:
 1. A computer-implemented method for generating arecommendation of a personalized ensemble, said computer-implementedmethod comprising: accessing, by a computer system, customer dataassociated with a customer to achieve accessed customer data; accessing,by said computer system, rules, wherein said rules comprise a set ofconstraints pertaining to valid and invalid combinations of retailitems, wherein said retail items have tags that describe respectiveretail items, and wherein said tags comprise subsets of tags;determining, by said computer system, a quantity of two-dimensionalimages that can be displayed in a single view on a display of thecomputer system; assigning the quantity of two-dimensional images as apredetermined threshold number; reducing, by said computer system, saidsubsets of tags from a first number to said predetermined thresholdnumber said first number of tags being a number of all tags fitting aparticular descriptor, said reducing said subsets of tags to saidpredetermined threshold number by continuing to add additionaldescriptors to further narrow said first number of tags until less thansaid predetermined threshold number is reached; displaying, on a displayscreen of said computer system, a plurality of two-dimensional imagescorresponding to said reduced subset of tags associated with said retailitems, wherein said plurality of two-dimensional images are scrollablearound an outer surface of an unrendered three-dimensional sphere,wherein each of said plurality of two-dimensional images can be rotatedconcurrently in any direction about a center point of said sphere;receiving, by said computer system, a selection of one of said pluralityof two-dimensional images to achieve a received selection; anddynamically generating and displaying, by said computer system and basedon said accessed customer data, said accessed rules and said receivedselection, a recommendation of a personalized ensemble for saidcustomer.
 2. The computer-implemented method of claim 1, wherein saidaccessing, by said computer system, customer data further comprises:accessing said customer data, wherein at least a subset of said customerdata is not required to be associated with said selection of one of saidretail items for purchase.
 3. The computer-implemented method of claim1, wherein said accessing, by said computer system, customer datafurther comprises: accessing said customer data from a retailer.
 4. Thecomputer-implemented method of claim 1, wherein said accessing, by saidcomputer system, customer data further comprises: accessing purchasehistory of said customer.
 5. The computer-implemented method of claim 1,wherein said accessing, by said computer system, customer data furthercomprises: accessing social media information of said customer.
 6. Thecomputer-implemented method of claim 1, wherein said by said computersystem, dynamically generating a recommendation of a personalizedensemble comprises: based on said accessed customer data, said accessedrules and said received selection, dynamically generating arecommendation of a personalized ensemble comprising coordinated items.7. The computer-implemented method of claim 1, wherein saidrecommendation of said personalized ensemble is unique to said customer.8. The computer-implemented method of claim 1, further comprising:generating, by said computer system, a correlation table based on saidaccessed customer data.
 9. The computer-implemented method of claim 1,further comprising: based on said accessed customer data, said accessedrules and said received selection, by said computer system, dynamicallygenerating, by said computer system, a hierarchy of recommendations. 10.The computer-implemented method of claim 1, further comprising: on saiddisplay screen and by said computer system, displaying, by said computersystem, said recommendation in proximity to said selection of said oneof said plurality of two-dimensional images.
 11. A non-transitorycomputer-readable storage medium having instructions embodied thereinwhen executed cause a computer system to perform a method for generatinga recommendation of a personalized ensemble, said method comprising:accessing customer data associated with a customer to achieve accessedcustomer data; accessing rules, wherein said rules comprise a set ofconstraints pertaining to valid and invalid combinations of retailitems, wherein said retail items have tags that describe respectiveretail items, and wherein said tags comprise subsets of tags;determining, by said computer system, a quantity of two-dimensionalimages that can be displayed in a single view on a display of thecomputer system; assigning the quantity of two-dimensional images as apredetermined threshold number; reducing, by said computer system, saidsubsets of tags from a first number to said predetermined thresholdnumber said first number of tags being a number of all tags fitting aparticular descriptor, said reducing said subsets of tags to saidpredetermined threshold number by continuing to add additionaldescriptors to further narrow said first number of tags until less thansaid predetermined threshold number is reached; displaying a pluralityof two-dimensional images corresponding to said reduced subset of tagsassociated with said retail items; receiving a selection of at least oneof said plurality of two-dimensional images, wherein said plurality oftwo-dimensional images are scrollable around an outer surface of anunrendered three-dimensional sphere, said plurality of two-dimensionalimages concurrently rotatable in any direction about a center point ofsaid sphere; bookmarking said selection of at least one of saidplurality of two-dimensional images respective a plurality of retailitems; and dynamically generating and displaying a recommendation of apersonalized ensemble for said customer based on said one or morebookmarked retail items and said accessed customer data.
 12. Thenon-transitory computer-readable storage medium of claim 11, whereinsaid accessing customer data further comprises: accessing said customerdata, wherein at least a subset of said customer data is not required tobe associated with said selection of one of said retail items forpurchase.
 13. The non-transitory computer-readable storage medium ofclaim 11, wherein said accessing customer data comprises: accessingpurchase history of said customer.
 14. The non-transitorycomputer-readable storage medium of claim 11, wherein said accessingcustomer data comprises: accessing social media information of saidcustomer.
 15. The non-transitory computer-readable storage medium ofclaim 11, wherein said recommendation of a personalized ensemble isunique to said customer.
 16. The non-transitory computer-readablestorage medium of claim 11, further comprising: displaying saidrecommendation of said personalized ensemble.
 17. The non-transitorycomputer-readable storage medium of claim 11, further comprising:displaying said selected bookmarked item in a filmstrip format.